const mysql = require('mysql')

class DB {
    // 构造函数 目的是连接数据库
    constructor(host, port, user, password, database) {

        // 创建连接池
        const pool = mysql.createPool({
            host,
            port,
            user,
            password,
            database
        })
        // 连接数据并创建数据库对象
        pool.getConnection((err, connection) => {
            if (err) {
                console.log(err);
            } else {
                this.con = connection;
            }
        })
    }

    //执行数据库的增删改查
    query(sql) {

        return new Promise((resolve, reject) => {
            this.con.query(sql, (err, res) => {
                if (err) {
                    reject(err);
                } else {
                    resolve(res);
                }
            })
        })
        // 异步回调 使用promise

    }
}

// 暴露

module.exports = new DB('localhost','3306','root','root','myshop')